#pragma once
#include <stdint.h>

// giant constants/precalculated stuff go here

const uint8_t key_scramble_table1[] = {
    0xF7,0xE7,0xD8,0xB8,0x64,0x31,0xD1,0x74,0x88,0xAA,0xB4,
    0x8B,0x6A,0xA3,0xFC,0x55,0x59,0xC5,0x6D,0xC9,0x9A,0x11,
    0x2F,0x37,0xAD,0x35,0x15,0x62,0x61,0x04,0x44,0x01,0xDD,
    0x47,0x3D,0xFF,0x8F,0x51,0xAF,0x0F,0x19,0x23,0x92,0x13,
    0x00,0x53,0x4B,0x67,0x21,0x1C,0x1B,0x94,0xE2,0x29,0x9F,
    0x4C,0xFB,0xBB,0x75,0xF0,0xFE,0x1F,0xDB,0xEF,0x1D,0xF1,
    0x3A,0x1A,0x05,0x06,0xCE,0xDE,0x63,0x0A,0x6B,0x2D,0x28,
    0x41,0x6C,0x0C,0x42,0xDC,0x58,0xB6,0x39,0x2E,0xD2,0xF6,
    0x2B,0xAC,0x84,0x96,0x17,0xF3,0x3F,0x8D,0xAB,0x95,0xCD,
    0x30,0x0E,0x66,0x90,0xF4,0xED,0xE0,0x8E,0xC2,0x78,0x2C,
    0x7E,0xF8,0x5D,0x02,0x91,0xFA,0x3C,0xDA,0xB7,0x6F,0xF9,
    0x4F,0x14,0x5E,0xEA,0x24,0x56,0x9E,0xC1,0xA5,0x85,0xD7,
    0x08,0x83,0x4E,0xF5,0x76,0x32,0x86,0x5C,0xD3,0x09,0x5F,
    0xFD,0x36,0x03,0xEE,0xE3,0x34,0x77,0x79,0x18,0xBD,0xDF,
    0x97,0x71,0xBA,0x65,0x68,0x7A,0x54,0x80,0x48,0x38,0x5B,
    0x4D,0x5A,0x7F,0x0B,0x7C,0xA6,0x7B,0x25,0xD6,0x0D,0x40,
    0xD0,0x07,0x99,0x9D,0x93,0x69,0xD9,0x8C,0xB3,0xB5,0xA4,
    0x1E,0xCB,0x33,0x82,0xE9,0xC3,0x60,0xA7,0xAE,0x45,0xBE,
    0xB1,0x46,0xB2,0x9C,0x22,0xC7,0x81,0x98,0xA9,0xD5,0x6E,
    0xE1,0x10,0xCA,0xBC,0x4A,0x70,0xD4,0xC4,0x72,0x12,0xCF,
    0x2A,0x87,0x16,0xC8,0x73,0xA1,0x3E,0x52,0x50,0xA8,0x57,
    0x27,0xEC,0xCC,0x7D,0xE4,0xA0,0x89,0xBF,0xE5,0x8A,0x20,
    0xEB,0xC0,0xA2,0x49,0xB9,0xE8,0x26,0xC6,0xE6,0xB0,0x3B,
    0x9B,0xF2,0x43,0x5E,0xB0,0xE6,0x0D,0xF9,0x87,0xD7,0x8A,
    0xDF,0xE7,0x19,0x99,0x6F,0xD5,0x5B,0x4E,0xCB,0xC2,0x48,
    0xD2,0xF2,0x44,0x35,0x03,0xE9,0x86,0xD0,0x95,0x02,0x4A,
    0x04,0x62,0xC5,0x9D,0x1D,0xE2,0xFD,0x53,0x08,0x8D,0x5D,
    0x75,0xD9,0x3F,0x94,0x59,0x14,0x29,0x98,0x76,0x8C,0x79,
    0x2E,0x8F,0x39,0x0C,0x4C,0xC8,0xC0,0x81,0x9C,0x10,0xBB,
    0xAF,0xF7,0xE5,0xB2,0xB3,0xEE,0x56,0x57,0xB8,0xFA,0x40,
    0x7A,0x72,0x77,0x24,0x6C,0xC6,0x47,0x3A,0x74,0xCF,0x89,
    0xB4,0x9B,0x26,0xAA,0x38,0x09,0xC3,0x1C,0xDE,0x9F,0xDD,
    0x16,0x1F,0x55,0xBD,0xAD,0xAC,0x80,0x4F,0x64,0x4B,0x71,
    0xB7,0xF6,0x06,0x2B,0xC7,0x01,0xEA,0x46,0xA6,0xEB,0x3D,
    0xCA,0x07,0x34,0x1B,0xFF,0x7C,0x7D,0x2D,0x37,0x67,0x60,
    0x9A,0xC4,0x97,0x7F,0xD6,0xBE,0xAE,0x85,0x25,0x88,0x65,
    0xA2,0x00,0xB6,0x8E,0xD4,0x6E,0x1A,0x63,0x36,0x92,0xC1,
    0xE1,0x15,0xA5,0x58,0x3B,0x7E,0x22,0x2F,0x84,0x0F,0x5C,
    0x96,0xB1,0xF1,0x6D,0x8B,0xF4,0xA8,0xB5,0x0B,0xFE,0x23,
    0xE3,0xCE,0xF8,0xF5,0x51,0x45,0x43,0x18,0x1E,0xD1,0xBA,
    0xBC,0x90,0x21,0x70,0x30,0xC9,0x2A,0xEC,0x61,0x7B,0x66,
    0x5F,0x13,0x33,0x20,0x6B,0xCD,0x3C,0xA0,0x93,0x31,0xB9,
    0x05,0x82,0xFB,0x3E,0x17,0x12,0x6A,0x0A,0xCC,0x4D,0xA1,
    0x73,0x52,0x78,0xBF,0x28,0x50,0x69,0xDC,0x68,0x42,0xE0,
    0xA4,0x2C,0xEF,0xF0,0x11,0xE8,0x91,0x49,0x83,0x5A,0xF3,
    0x32,0xDB,0xAB,0xDA,0x27,0x0E,0xED,0xA3,0xFC,0x41,0xA7,
    0xA9,0xD3,0x9E,0xE4,0xD8,0x54,0x95,0xAE,0xF0,0xD5,0x73,
    0x24,0xD2,0xA5,0x99,0x0B,0x1B,0xC4,0x9A,0xD8,0x69,0x6F,
    0x25,0xED,0x8E,0x91,0x63,0xF8,0x35,0x62,0x5B,0x94,0x88,
    0xB2,0x5C,0x0F,0xDD,0xA4,0x7A,0x1A,0x12,0xC6,0x37,0x44,
    0xF1,0x4E,0xB9,0x4D,0x43,0xD1,0xAD,0xEB,0xB4,0x46,0x80,
    0x30,0x5E,0xE4,0x87,0x6E,0x0A,0x82,0xCF,0x74,0x38,0xB5,
    0xC1,0xD6,0x01,0x05,0xE8,0x83,0xA9,0x6D,0xCE,0xA8,0xC5,
    0x51,0xA3,0x3F,0xDA,0x03,0xD0,0x3A,0x39,0x6C,0x11,0x97,
    0x68,0x54,0xC0,0x4B,0xDF,0x19,0x0C,0x21,0x1F,0x66,0xBD,
    0xE9,0x61,0x49,0xC8,0x42,0xBC,0xEC,0x7F,0xC3,0x4F,0x2E,
    0xA1,0x58,0x3D,0x81,0xE3,0x14,0xB8,0x02,0x23,0x9E,0x77,
    0x2B,0x33,0xA6,0x93,0x13,0x34,0x0E,0x06,0x45,0xFB,0x07,
    0x75,0x0D,0x1E,0x40,0xAB,0x7D,0xF5,0xBB,0x55,0xEF,0x04,
    0x65,0x79,0x2F,0xCA,0xF3,0x29,0xCB,0xEA,0x17,0xF4,0xE6,
    0x71,0x4C,0x50,0x26,0xD9,0x78,0x5F,0x09,0x9C,0x1C,0x85,
    0x31,0x22,0x9B,0xC9,0xE0,0x8F,0xAC,0x57,0x8B,0x7C,0x47,
    0x7E,0x16,0xF7,0x08,0x5A,0x59,0x1D,0xC7,0xF9,0x00,0x2D,
    0x60,0x3C,0x9F,0x96,0xA2,0xBA,0x20,0x70,0xF6,0x48,0xB0,
    0x2C,0x72,0xE1,0x64,0xE7,0xFF,0xB7,0x56,0xA7,0x53,0x84,
    0xD7,0xE2,0xD4,0xA0,0xB1,0x8C,0xE5,0x2A,0xDC,0x15,0x28,
    0x5D,0x3B,0x36,0x7B,0x86,0x6A,0xDB,0x10,0xBE,0x6B,0xFE,
    0x9D,0x18,0xDE,0x76,0xF2,0xCD,0xB6,0x32,0xFC,0x41,0xAF,
    0xBF,0x67,0xB3,0xAA,0xC2,0x8A,0xFD,0x89,0xCC,0xFA,0x90,
    0x98,0x8D,0x52,0xD3,0xEE,0x92,0x3E,0x4A,0x27,0x2A,0xD7,
    0x9E,0x02,0x53,0x63,0xEA,0xE9,0x8F,0x35,0x22,0x7F,0xFE,
    0xCA,0x75,0x46,0x57,0x94,0xD9,0x4E,0xD2,0xD4,0x76,0xA1,
    0xC3,0xD8,0xBC,0x9B,0x84,0x87,0x91,0x51,0xB1,0xAB,0x81,
    0x64,0x47,0xAF,0x9D,0x6A,0x5B,0x2D,0xD6,0x95,0x77,0x03,
    0xC1,0x10,0xAD,0x61,0x0C,0xBF,0x11,0x34,0x7E,0x01,0x38,
    0x20,0x4B,0xB6,0x4A,0x1A,0x45,0x99,0x5F,0x26,0xBB,0xC5,
    0xCD,0x23,0xF1,0xF7,0xB4,0x8E,0xE1,0xF8,0x68,0x56,0x29,
    0xD5,0x3D,0xEF,0x12,0x28,0xC4,0x2E,0x79,0xA6,0x48,0x85,
    0x73,0x14,0xE4,0xC6,0x6B,0x92,0x30,0x27,0x93,0x13,0x0D,
    0xE2,0xC9,0xF0,0x65,0xDF,0xFB,0xE3,0x06,0x2F,0x8C,0x4C,
    0x18,0x15,0xD3,0x49,0x3E,0x07,0x59,0xB0,0x88,0xA9,0xC8,
    0x3B,0x86,0xEE,0x5C,0x7A,0x5E,0xFF,0x8D,0xAC,0x08,0xE6,
    0x60,0x54,0xA0,0x7D,0x40,0x33,0xA8,0xFC,0xE0,0x37,0x98,
    0xBD,0xEC,0x09,0xB2,0x71,0x58,0x1F,0xDE,0x74,0x89,0x36,
    0x52,0x66,0xA2,0x3C,0x96,0x5D,0x50,0x90,0x41,0xF5,0x17,
    0x2B,0x0B,0xDC,0xF6,0x00,0x83,0xDD,0x6D,0xB5,0x3A,0x9C,
    0xB8,0x70,0x7C,0x43,0x69,0xFD,0x32,0x1B,0xED,0x0F,0x55,
    0x97,0xC2,0xFA,0x39,0x4F,0x9A,0x82,0x19,0xE7,0x78,0x6E,
    0xCB,0xA4,0xBE,0x24,0xB3,0xF3,0xCC,0xCF,0x1C,0xF9,0x44,
    0xA5,0x1E,0x80,0x3F,0xD0,0x21,0xA3,0xE8,0x31,0x05,0x16,
    0x8A,0xBA,0x67,0x0E,0xE5,0xB7,0xD1,0x42,0x1D,0xDB,0x72,
    0x6C,0xA7,0xCE,0x04,0x4D,0xDA,0xC7,0x8B,0x9F,0x6F,0x0A,
    0x2C,0xEB,0xF2,0x5A,0x7B,0xAA,0x25,0xC0,0x62,0xAE,0xF4,
    0xB9,0x33,0x16,0xC6,0xF1,0xE4,0xCB,0x65,0x55,0xC5,0xD4,
    0x59,0x74,0xB8,0xD0,0x3A,0xE2,
};

// used for key_scramble2
// gets generated from UnityPlayer:$32BC40, but it always stays constant so it can be hardcoded here
const uint8_t stack_stuff[] =
{
    0xDE,0xAD,0xCA,0xFE,0xFA,0xCE,0xB0,0x0C,0xDE,0xAD,0xCA,
    0xFE,0xFA,0xCE,0xB0,0x0C,0x98,0x80,0xB0,0xAB,0x2B,0xA2,
    0x7B,0x56,0xF0,0x6E,0x6E,0x0F,0xB2,0xA8,0x10,0xA7,0xA4,
    0x84,0xFC,0xE7,0xED,0xE8,0xEA,0x13,0x0C,0xC4,0x48,0xC9,
    0x73,0x60,0xDC,0x5D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0xC1,0x18,0x81,0xE8,0xE8,0xF6,0xD2,0x2E,0xFF,0xE3,
    0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,
    0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,
    0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,
    0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,
    0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,
    0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,
    0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,
    0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,
    0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,
    0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,
    0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,
    0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,
    0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,
    0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,
    0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,
    0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,
    0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,
    0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,
    0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,
    0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,
    0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,
    0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,
    0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,
    0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,
    0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,
    0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,
    0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,
    0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,
    0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,
    0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,
    0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,
    0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,
    0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,
    0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,
    0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,
    0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,
    0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,
    0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,
    0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,
    0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,
    0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,
    0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,
    0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,
    0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,
    0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,
    0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,
    0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,
    0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,
    0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,
    0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,
    0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,
    0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,
    0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,
    0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,
    0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,
    0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,
    0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,
    0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,
    0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,
    0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,
    0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,
    0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,
    0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,
    0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,
    0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,
    0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,
    0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,
    0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,
    0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,
    0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,
    0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,
    0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,
    0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,
    0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,
    0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,
    0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,
    0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,
    0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,
    0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,
    0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,
    0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,
    0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,
    0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,
    0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,
    0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,
    0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,
    0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,
    0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,
    0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,
    0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,
    0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,
    0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,
    0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,
    0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,
    0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,
    0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,
    0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,
    0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,
    0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,
    0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,
    0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,
    0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,
    0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,
    0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,
    0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,
    0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,
    0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,
    0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,
    0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,
    0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,
    0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,
    0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,
    0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,
    0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,
    0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,
    0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,
    0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,
    0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,
    0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,
    0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,
    0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,
    0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,
    0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,
    0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,
    0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,
    0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,
    0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,
    0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,
    0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,
    0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,
    0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,
    0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,
    0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,
    0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,
    0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,
    0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,
    0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,
    0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,
    0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,
    0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,
    0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,
    0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,
    0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,
    0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,
    0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,
    0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,
    0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,
    0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,
    0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,
    0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,
    0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,
    0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,
    0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,
    0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,
    0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,
    0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,
    0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,
    0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,
    0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,
    0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,
    0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,
    0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,
    0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,
    0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,
    0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,
    0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,
    0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,
    0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,
    0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,
    0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,
    0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,
    0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,
    0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,
    0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,
    0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,
    0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,
    0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,
    0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,
    0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,
    0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,
    0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,
    0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,
    0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,
    0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,
    0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,
    0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,
    0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,
    0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,
    0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,
    0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,
    0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,
    0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,
    0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,
    0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,
    0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,
    0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,
    0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,
    0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,
    0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,
    0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,
    0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,
    0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,
    0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,
    0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,
    0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,
    0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,
    0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,
    0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,
    0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,
    0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,
    0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,
    0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,
    0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,
    0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,
    0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,
    0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,
    0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,
    0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,
    0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,
    0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,
    0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,
    0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,
    0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,
    0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,
    0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,
    0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,
    0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,
    0x0A,0x3A,0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,
    0xFB,0x48,0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,
    0x3D,0x97,0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,
    0xCE,0x67,0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,
    0xF2,0x8D,0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,
    0x03,0xD4,0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,
    0xD1,0xCE,0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,
    0x07,0xE9,0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,
    0x1B,0xCD,0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,
    0xB1,0x08,0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,
    0x4D,0xF4,0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,
    0xC2,0xAD,0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,
    0x78,0x91,0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,
    0xF0,0x86,0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,
    0x55,0x8B,0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,
    0x34,0x0C,0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,
    0x73,0x42,0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,
    0xAA,0x34,0xFF,0xE3,0xA8,0x0A,0x3A,0xD1,0xCE,0x78,0x91,
    0xF9,0xB1,0x63,0x6C,0xFF,0xFB,0x48,0x07,0xE9,0xF0,0x86,
    0x0B,0xED,0xEB,0x9A,0x2E,0x3D,0x97,0x1B,0xCD,0x55,0x8B,
    0x03,0x49,0xD9,0xE9,0x40,0xCE,0x67,0xB1,0x08,0x34,0x0C,
    0xBE,0xBB,0x0B,0x15,0x66,0xF2,0x8D,0x4D,0xF4,0x73,0x42,
    0xE8,0x48,0x1C,0xB4,0x24,0x03,0xD4,0xC2,0xAD,0xAA,0x34,

};

// blk_stuff1 is a structure generated at security module init
// since it contains pointers to other blocks of random data, it's split here
const uint8_t blk_stuff1_p1[] = {
    0xFB,0x2B,0x35,0xF4,0xC2,0x91,0x93,0x27,0x5D,0x8B,0xCD,
    0xAE,0xD0,0x5D,0xE7,0x7D,0x85,0x7B,0xE9,0x36,0x90,0xC8,
    0x64,0x58,0x6E,0xAF,0x51,0x6A,0x94,0xA7,0xA6,0xF0,0xF3,
    0xC2,0x2B,0xC3,0x2B,0x7B,0x9A,0xA2,0x55,0xDF,0x5A,0x64,
    0x64,0xF1,0xC3,0xA2,0x0A,0x4E,0xEF,0xEC,0x9A,0x66,0x58,
    0x4E,0x9F,0xF3,0x07,0x6F,0x39,0xE0,0x27,0x62,0x87,0x16,
    0x2A,0xC7,0x26,0x70,0x60,0x8E,0x35,0xFD,0x24,0x76,0x9E,
    0x72,0xE7,0x71,0xF6,0x78,0x60,0x96,0xDF,0x02,0x91,0x2E,
    0x38,0xE5,0x9A,0x2C,0xF8,0xC6,0x71,0x63,0x5B,0x51,0x00,
    0x0D,0x00,0xCE,0x73,0x23,0x22,0x1F,0x20,0xAE,0xB6,0xCE,
    0x67,0xBA,0x09,0x04,0x18,0xBB,0x56,0xF0,0xB1,0x5A,0xE4,
    0x29,0x10,0x19,0xDC,0x2B,0x70,0x81,0xE4,0x09,0xD7,0x1E,
    0x2C,0xE9,0x3E,0x85,0x07,0x9C,0x8F,0x15,0x1D,0x69,0x4A,
    0xAB,0x7A,0xCA,0xE6,0x1E,0xED,0x41,0x24,0x6C,0xEF,0xCC,
    0x01,0xC3,0xF4,0x7E,0xE6,0xE1,0xDF,0x64,0x5C,0xC2,0x9A,
    0x48,0x4D,0xB7,0xB3,0xAD,0xC1,0x51,0xB3,0xB5,0x18,0x10,
    0x2D,0xC6,0x9D,0x1F,0x99,0x95,0xF8,0x89,0x01,0x1F,0xEE,
    0x69,0xF8,0xDF,0x2C,0x6A,0xF5,0xD9,0xC4,0x2F,0xD2,0xF3,
    0x08,0x1F,0x52,0x2F,0x38,0x2D,0xD3,0x0D,0xEC,0xFB,0x33,
    0xC9,0x6C,0x47,0x85,0x54,0x70,0x46,0xC4,0x53,0xD4,0xD1,
    0x75,0x1A,0x1B,0xFB,0x0D,0xDE,0xC8,0x2F,0xB7,0x65,0xC5,
    0x33,0x67,0x1E,0x14,0x5E,0x32,0x42,0x3D,0x9D,0x08,0x04,
    0xBC,0x53,0x88,0xD4,0x17,0xC5,0x5B,0xA6,0xE4,0x70,0xC0,
    0x56,0x40,0xF5,0x55,0x1B,0xC8,0x8C,0xFD,0xE8,0xC4,0x32,
    0xDB,0xBE,0xDF,0x46,0xBC,0x8F,0x0C,0x6D,0x48,0x72,0xC4,
    0x9E,0x97,0x12,0x9F,0x81,0xDB,0xB2,0xCB,0x69,0x64,0xB4,
    0xF3,0x43,0x26,0x56,0x66,0x4E,0x21,0x17,0x45,0x22,0x2D,
    0x6B,0x17,0xFA,0xC6,0x75,0xF0,0x32,0xCC,0xAF,0x91,0x85,
    0x9E,0xCE,0x76,0x05,0x95,0xE2,0x96,0x68,0x58,0x2D,0x99,
    0x6F,0x0E,0xCE,0x34,0xE2,0x1A,0x89,0x62,0xEB,0xCA,0xD2,
    0x18,0x44,0x21,0x77,0xF6,0x42,0x43,0x7A,0xC2,0x8B,0xFF,
    0xE6,0x9C,0xB9,0x13,0xA7,0x71,0x9B,0x33,0x46,0xB8,0x54,
    0x30,0x8B,0x7F,0x83,0x5F,0x84,0x4D,0x2F,0x45,0x2C,0x3C,
    0x43,0x15,0x9E,0x89,0xFB,0x92,0xFE,0x43,0xCE,0xBD,0x5B,
    0x4A,0x9F,0xD7,0x6D,0x3F,0xA7,0xC1,0x07,0x33,0x36,0xE1,
    0x30,0x29,0x3F,0x1C,0x8F,0xA1,0xC0,0x7E,0xC9,0x93,0x89,
    0xDF,0x6F,0xEB,0x35,0x85,0xF4,0xA1,0x79,0x19,0x3E,0x57,
    0x84,0x43,0x25,0x02,0x74,0x38,0x60,0x37,0xDF,0xF7,0xD3,
    0x63,0xCB,0xAB,0x1B,0x8A,0x90,0xA8,0x78,0x15,0xCF,0x5F,
    0x47,0x7E,0x82,0xA0,0x5B,0xD0,0xB9,0x3D,0x50,0xD2,0x7E,
    0x24,0x67,0x6F,0xC2,0x2E,0x33,0xD6,0x74,0xAA,0xDD,0x9C,
    0xB2,0xB3,0x64,0xB4,0x0E,0xDC,0x03,0x43,0x72,0x10,0x10,
    0x3C,0x2C,0x07,0x4C,0xA6,0x7A,0xB3,0x74,0x23,0xEE,0x76,
    0xDA,0x27,0xCC,0x7F,0xA2,0x78,0xA3,0xFE,0xDC,0x3C,0x2D,
    0xF1,0x33,0x9F,0xCB,0xDA,0x73,0x48,0x50,0x05,0xBD,0x7C,
    0x15,0x8D,0x5F,0xD6,0xF6,0xD9,0x06,0x6E,0x7B,0x8E,0x46,
    0xE7,0x5B,0x7B,0xEA,0xE1,0xEC,0x80,0xF4,0x97,0x79,0xF8,
    0xAC,0x46,0x86,0x6C,0x6A,0x3F,0xB0,0x0F,0x53,0xD9,0xF4,
    0x9E,0x8C,0x51,0x3D,0xB7,0xEA,0xD4,0x8F,0x54,0x6F,0xC2,
    0x87,0x1C,0x74,0xAE,0x45,0xF7,0x61,0x41,0x32,0x57,0xEE,
    0x1F,0x72,0xD4,0xEC,0xA1,0xC5,0x4C,0x76,0xAD,0x42,0x85,
    0x28,0x81,0xC2,0x30,0xF2,0x85,0x55,0xEA,0x3F,0x74,0xB1,
    0x88,0xCD,0x2A,0x69,0xB6,0x86,0x51,0xBE,0xBD,0x39,0x35,
    0x25,0x51,0x75,0x91,0xAA,0x55,0xF4,0xCE,0xDF,0x97,0xD6,
    0x51,0x90,0x70,0xEB,0x96,0x9C,0x28,0xAB,0x1B,0x66,0x24,
    0xDB,0x2D,0x8B,0x8A,0x13,0x62,0x29,0xDD,0x57,0x04,0x46,
    0x9A,0xE0,0x2A,0xAC,0x47,0x72,0x3D,0x9E,0x50,0x0D,0x8D,
    0x3D,0xBD,0xDC,0xF1,0x35,0xDA,0xDB,0x2E,0x9A,0x46,0x49,
    0x6F,0x85,0x0C,0x4A,0xB2,0x7B,0x16,0x4B,0x68,0x20,0x66,
    0x2B,0xEB,0xC6,0x65,0x1A,0x10,0x15,0xD9,0x73,0x4D,0xCB,
    0xC8,0x7D,0xF7,0x78,0x1F,0x0D,0xB4,0xF3,0x87,0x01,0xCB,
    0xCE,0xA6,0x17,0x5C,0xAF,0x45,0x08,0xB6,0x48,0xD6,0xE4,
    0x0C,0x70,0x94,0x1D,0x74,0x1F,0xF2,0x74,0x5B,0xDB,0xD0,
    0xB2,0x9B,0x13,0x58,0xE9,0x5E,0x47,0x03,0x63,0xD7,0xF9,
    0xF4,0xEF,0x8F,0x3E,0x07,0x8D,0xFF,0xAE,0x24,0x3A,0x4F,
    0x22,0x46,0x58,0xA5,0xAA,0xA8,0x35,0xB1,0x2B,0x6D,0x05,
    0xD4,0x66,0xD2,0xA4,0x31,0xB5,0x87,0x1F,0x3C,0xFA,0xD0,
    0x37,0xEB,0x15,0x30,0xB6,0x9D,0xFD,0x1B,0x64,0x58,0x39,
    0x77,0x3D,0xE3,0xCB,0x9F,0xB1,0xD6,0x4B,0xC4,0x75,0x9C,
    0x3E,0x7C,0x8F,0x12,0x27,0x84,0x69,0xC0,0x68,0x6B,0x2A,
    0x72,0x40,0x93,0xA2,0x93,0xA7,0x05,0x0B,0xC2,0x3F,0x75,
    0x18,0xF6,0x1E,0xEE,0xF1,0x28,0x9A,0x35,0xC2,0xFF,0xDD,
    0x2C,0x49,0x7B,0x5D,0x05,0x5F,0xC3,0xCF,0xE1,0xEA,0x69,
    0xE3,0x34,0x43,0x43,0x35,0x64,0x01,0x3C,0x9F,0xCC,0x8A,
    0xA7,0xFF,0xF5,0x65,0xE7,0xB7,0x65,0x50,0xFC,0x7F,0x57,
    0x5B,0x7C,0xFB,0xC9,0x5A,0xE8,0x6B,0xA9,0xE7,0x64,0x26,
    0x3E,0x52,0x4B,0x23,0xD6,0xC4,0xA7,0x40,0xAB,0x2B,0x4D,
    0x45,0x09,0xFA,0xC4,0x97,0xBE,0x45,0xD2,0x83,0x78,0x2A,
    0xA0,0xCB,0x2A,0x00,0x9F,0x13,0x2A,0x90,0x7B,0x9F,0xA2,
    0x99,0x8B,0x77,0xC4,0x87,0xCE,0xAE,0x63,0xE9,0x76,0x5F,
    0xD8,0xAF,0xC1,0xEF,0x41,0x37,0x15,0xA3,0xCC,0x46,0xAF,
    0xB0,0x35,0x74,0x79,0xA8,0x97,0x45,0x34,0x03,0xA8,0xAA,
    0x67,0xBD,0x5E,0x30,0x20,0x28,0xA1,0x96,0x7E,0xAA,0xDD,
    0xCF,0x10,0x6F,0xE5,0x51,0x82,0x27,0x9B,0xD7,0xEB,0x2F,
    0x73,0xB1,0x27,0x00,0x5A,0x20,0xC8,0x4A,0x49,0x43,0x56,
    0xC3,0xBB,0xB0,0x8A,0xBA,0x4E,0x38,0x19,0x48,0x16,0x81,
    0x83,0x0C,0x7D,0x36,0x73,0x6A,0x34,0x2B,0x60,0xB4,0xDD,
    0x8E,0x7C,0x2C,0xE1,0x94,0x2E,0x51,0x74,0x34,0x9B,0x70,
    0xDF,0xC4,0x58,0x2A,0x2E,0x16,0x2F,0xE2,0x50,0xCD,0xE5,
    0x2D,0xD3,0x71,0xCC,0xD9,0xDE,0x8A,0x29,0xCD,0x03,0x2E,
    0x2A,0xC5,0xDA,0x64,0xCC,0x39,0xE7,0x1C,0x8A,0xA1,0xD0,
    0xC5,0x4A,0xA4,0xFB,0xDB,0xC0,0x86,0x19,0x42,0xA4,0x1C,
    0xB5,0xE1,0xCD,0x19,0x30,0x0B,0x5B,0x89,0x02,0x9D,0x67,
    0x49,0x16,0x94,0x5E,0x92,0x3E,0x6E,0x52,0x65,0xAC,0x25,
    0xDF,0xAA,0x79,0x50,0x74,0xF9,0x24,0xA5,0x23,0x75,0x2D,
    0x79,0xB8,0x42,0xE7,0x6B,0xD9,0x93,0x97,0x9D,0xAA,0xE5,
    0xD2,0x8C,0x1C,0x19,0x05,0xDE,0xFC,0x0E,0xBC,0x23,0x18,
    0x93,0x4E,0x6E,0x7D,0x13,0x7C,0x0E,0x88,0x3A,0x1C,0x54,
    0x08,0x4D,0x7F,0x5D,0x50,0x73,0x88,0x92,0x42,0xED,0x28,
    0x1B,0xFA,0x35,0xA2,0x78,0xAD,0x50,0x3C,0x76,0x6E,0xD4,
    0x59,0x57,0x83,0x75,0x08,0x29,0x47,0x3B,0x9A,0xE7,0x35,
    0x36,0x96,0xB4,0x5A,0xA9,0x7D,0xAD,0xAB,0xBC,0xE2,0x2B,
    0x88,0xDF,0x66,0x02,0xD9,0x18,0x50,0x96,0x1B,0xB7,0xAD,
    0x2B,0x51,0x2C,0xFB,0xF6,0xC9,0xD1,0x8E,0xC4,0x68,0x70,
    0x96,0xE6,0xAD,0x06,0xAD,0x11,0xC9,0xC7,0xEA,0xDB,0xBC,
    0x7B,0x0A,0x69,0xBF,0xB5,0x77,0xF2,0xED,0xD8,0x11,0xCB,
    0x7B,0x19,0xFC,0x2F,0x80,0xB4,0xA9,0x41,0x6B,0x58,0x46,
    0x67,0x51,0xBA,0x2A,0xEE,0x69,0xA9,0xFE,0xE9,0x2F,0xB5,
    0x88,0xE1,0xFF,0xA4,0x75,0xC5,0xC2,0xBD,0xC6,0xBF,0x6D,
    0xA2,0x79,0x40,0x8E,0xF1,0x26,0x84,0xC7,0x8B,0x83,0xEF,
    0x2E,0x8B,0x1F,0xFC,0x4A,0xE0,0x8C,0x35,0x83,0x75,0x50,
    0x57,0x99,0x22,0xA2,0x32,0xBB,0x8C,0xCE,0x17,0x28,0xE3,
    0x8C,0x57,0xAE,0xBC,0xD3,0xC0,0x87,0xEF,0x39,0xC8,0x9A,
    0xEC,0xCF,0x22,0x1A,0x30,0xCA,0xAA,0x67,0x0B,0x12,0x5B,
    0xFF,0xBC,0xF8,0x60,0xD1,0x12,0xB2,0x37,0x69,0x75,0x60,
    0x14,0xCC,0x69,0x3E,0x03,0x9D,0xE1,0x21,0x18,0x7A,0x2A,
    0xD6,0x74,0xB9,0x7E,0x53,0x03,0xEF,0xAF,0xE4,0x58,0x43,
    0x1E,0xC4,0x6C,0x22,0x18,0x9A,0x60,0x8A,0x1F,0xF8,0xDB,
    0xD7,0x34,0xBE,0x0A,0x13,0x77,0x75,0x46,0xDE,0xED,0x22,
    0x60,0x4A,0xE0,0xBB,0x76,0xB4,0x05,0x97,0xCE,0xB9,0x3F,
    0xE1,0x5E,0xFD,0xFD,0x1C,0x5C,0xE4,0x46,0x0F,0x91,0xF5,
    0x3D,0xFF,0xCD,0x26,0x6B,0xE4,0x7C,0xBC,0x2E,0x2C,0xA2,
    0x75,0x17,0xE2,0x51,0x49,0x34,0xAF,0x07,0x72,0xF9,0x78,
    0xA6,0x24,0xFB,0xE3,0x8C,0x43,0x1B,0x12,0x8A,0x5C,0x42,
    0xF1,0xF9,0x8F,0xE5,0x94,0xA4,0x2A,0x36,0xDB,0x85,0x60,
    0x83,0xFD,0x4C,0x30,0x2E,0x02,0x64,0x89,0x88,0x6D,0xE9,
    0x2F,0x9E,0x62,0xAF,0xA7,0x5B,0x3B,0xDF,0x08,0x62,0x01,
    0x77,0x1E,0xD5,0x1B,0x0C,0xC0,0x26,0x8C,0x29,0x22,0xDD,
    0x23,0x41,0x9B,0x29,0xEB,0xB7,0x76,0x83,0xBD,0xAB,0xC3,
    0x49,0x21,0x7E,0xFA,0xA6,0xB6,0x86,0x4F,0xE3,0x50,0x45,
    0x31,0xD0,0xD2,0xDC,0x17,0x08,0x07,0xD2,0x4D,0x94,0x02,
    0xAA,0xF4,0x95,0x10,0x1E,0xC5,0xBB,0xFC,0x09,0x65,0x28,
    0x17,0x88,0xE2,0xCA,0x2B,0x51,0x30,0xCD,0xCC,0xE4,0xA1,
    0xED,0x4C,0x45,0x32,0x93,0xCF,0xB2,0x76,0xC9,0xAB,0x61,
    0x6D,0xAF,0x4B,0xA6,0x59,0x41,0x16,0x70,0xC8,0xB8,0x37,
    0xC2,0xA2,0xE6,0x5A,0x85,0x0E,0x93,0xC2,0x55,0x95,0x0C,
    0x8A,0x6D,0x75,0x0E,0xD6,0x22,0x4A,0xD4,0x6F,0xF3,0x70,
    0x82,0xF0,0x80,0xFD,0x8D,0xF3,0x97,0x1F,0xC0,0x8C,0x9F,
    0x9E,0x72,0xF1,0x6A,0xAE,0x14,0x44,0x0D,0xE3,0x75,0x0D,
    0x60,0xEF,0x8B,0x27,0xFE,0xB3,0x78,0x35,0x78,0xBE,0x29,
    0x97,0xBD,0x61,0x44,0xC7,0xC3,0x01,0x52,0xAE,0x1B,0x76,
    0xFB,0x13,0x57,0x04,0xF0,0xEC,0x87,0xA9,0xEF,0xD2,0x51,
    0x94,0x99,0x57,0xC1,0x28,0x6D,0xE4,0x1A,0x27,0x1B,0xE6,
    0xCE,0x37,0x36,0xD0,0x8E,0xE2,0x0F,0xAB,0x73,0x81,0x8D,
    0x24,0x3D,0x45,0x8C,0x9B,0xD0,0xDC,0x7B,0xC8,0x3E,0x96,
    0xAF,0x35,0x31,0xBC,0x7D,0xA4,0x7C,0x46,0xF8,0xDB,0x38,
    0x38,0xF3,0x86,0x4E,0x42,0xDF,0xF6,0x9E,0xBF,0x27,0x77,
    0xC6,0xC6,0x57,0xB5,0x61,0x6E,0x88,0xF9,0x71,0x81,0x4E,
    0xB3,0x12,0xB9,0x2F,0x5D,0x04,0x08,0x68,0x82,0x36,0x29,
    0x22,0x29,0x18,0xB2,0x02,0x3A,0x0E,0xC9,0x57,0xDD,0xF7,
    0x32,0x60,0x35,0x18,0xC5,0xFF,0xFE,0xEE,0xC4,0xC6,0xD4,
    0x90,0x53,0xBD,0xA9,0x5D,0xEC,0x64,0xC5,0xBA,0xD2,0xBC,
    0x4E,0x3E,0x8C,0xDE,0x9A,0x8B,0x6D,0x30,0x47,0xCE,0xBC,
    0x50,0xCB,0xB5,0x72,0xF8,0xDE,0x48,0x8A,0xDC,0xEE,0x9B,
    0x5B,0xC6,0xB3,0x7A,0x4C,0xEA,0xAC,0x08,0x4C,0x16,0xE5,
    0xEA,0x74,0xA5,0xAF,0xC7,0x7B,0x86,0x9F,0x41,0x4B,0xCA,
    0xD8,0x7A,0x88,0x33,0x9C,0x8C,0xAF,0x08,0x68,0xD6,0x40,
    0xA9,0x0F,0x8D,0x8B,0xE3,0x53,0x6D,0xC9,0x3E,0x75,0x2C,
    0x4D,0xD0,0xDC,0x75,0x7F,0x13,0x57,0x88,0x93,0xAE,0xE7,
    0xCB,0x37,0xB3,0xAD,0xE8,0xF5,0x10,0x86,0x68,0xBF,0x63,
    0x5F,0x8A,0x86,0xA6,0xC8,0x3C,0x70,0xE5,0xD1,0x45,0x86,
    0xA8,0xA0,0xED,0x20,0x82,0xE5,0x44,0xB0,0x56,0xD1,0xC3,
    0xF7,0x5A,0x95,0x93,0xF1,0xAC,0x88,0x09,0xDB,0x8A,0xC0,
    0x13,0xA0,0xE4,0x97,0x32,0xB7,0xFA,0x6E,0x78,0x02,0xC4,
    0x12,0x8F,0x00,0x92,0xC2,0x5D,0x3C,0xEE,0x8F,0x4D,0x79,
    0x62,0x21,0xBB,0x8F,0xE6,0x0D,0x83,0x67,0xF2,0xB0,0x5A,
    0x13,0xBD,0xFA,0x8A,0xC4,0x0C,0x33,0xAE,0xB2,0x8A,0x83,
    0x7F,0x0A,0xAE,0x9C,0xB5,0x04,0x22,0x21,0xDF,0xCF,0xD2,
    0x74,0xFA,0x54,0x3E,0xD3,0xA8,0x24,0xB7,0x06,0xC7,0x21,
    0xC0,0x62,0xEA,0xD2,0x15,0x0A,0x73,0x96,0x7B,0x35,0x5A,
    0x49,0x9B,0x6B,0x6B,0xDB,0xC2,0x9B,0x50,0x7A,0xE5,0x9E,
    0x9B,0xD1,0x25,0x9A,0xB4,0xE9,0xC1,0xC9,0x5E,0x06,0x1C,
    0x2A,0x8F,0x67,0xB0,0x74,0x44,0x8A,0xDE,0x3D,0x62,0x56,
    0x09,0x5E,0xE1,0x17,0x76,0x57,0x33,0xFC,0x9C,0x7D,0x07,
    0x25,0x44,0xF0,0x6D,0xB6,0xBE,0xB2,0x63,0xB4,0xE9,0xDF,
    0x3C,0x08,0x0C,0xCE,0xA4,0xED,0xE2,0xFF,0xA3,0x99,0x17,
    0xD4,0x2F,0x7A,0x29,0xFD,0x19,0x9E,0xCC,0xC2,0x49,0x50,
    0x44,0x8E,0xE1,0x58,0x7B,0x50,0xEB,0xAC,0xFB,0x98,0x16,
    0x06,0xC8,0xF5,0x96,0xBA,0x68,0x7E,0x49,0x36,0x9F,0x2E,
    0x95,0x2B,0xDD,0x94,0x2B,0xE9,0xF1,0x98,0x1E,0xE1,0x58,
    0x47,0x85,0x49,0x32,0xC3,0x52,0xC5,0x92,0x6F,0x56,0x84,
    0x06,0x07,0x5A,0x21,0x98,0x16,0x01,0x35,0xF1,0xA8,0xA0,
    0x09,0x1A,0x80,0x98,0xA6,0x3D,0x7F,0x73,0x13,0x75,0x24,
    0x96,0x24,0x31,0xBC,0xF4,0xB2,0x1A,0x30,0x43,0x80,0xD9,
    0x19,0xF6,0xD5,0x01,0x39,0x5D,0xBC,0x5C,0x27,0x6B,0x08,
    0x79,0x1D,0xD2,0x1A,0xAC,0xAA,0xC5,0x74,0xFF,0x04,0xFB,
    0xEC,0xFF,0xEB,0xCF,0xFE,0x8C,0xA3,0xF0,0x0A,0x0A,0x15,
    0x7A,0xEE,0xC9,0x2C,0x98,0xC3,0x01,0x22,0xC4,0xAA,0xB4,
    0xFB,0xBA,0x50,0xD6,0x0C,0x0E,0xFD,0x2A,0x31,0x1A,0x1E,
    0x26,0x87,0x40,0x92,0x31,0x43,0x9D,0x95,0x40,0x02,0x22,
    0xEF,0x09,0x99,0x59,0xC6,0x40,0xB9,0xA4,0x1F,0x52,0xCF,
    0xED,0x1A,0xAE,0x78,0xB7,0xA4,0xF6,0xE2,0x83,0xE2,0x52,
    0x9A,0x70,0x20,0x0C,0x3F,0x65,0x80,0x7A,0xD2,0x8B,0xDD,
    0xF4,0x98,0xBA,0x66,0x7C,0x54,0x93,0xB7,0x1B,0xDF,0x83,
    0x28,0xE7,0xD4,0x4A,0x25,0xAE,0xFB,0x60,0x4C,0x28,0xA9,
    0x77,0x9D,0xAD,0x4C,0x82,0xBA,0x29,0x06,0x81,0xD8,0x80,
    0x56,0x1B,0xAD,0xEA,0x0C,0xBA,0xA5,0x2F,0x5E,0xFD,0xF4,
    0x62,0x14,0x33,0x3E,0xF7,0xBE,0x96,0xBC,0xA2,0x32,0x60,
    0x72,0x69,0xA9,0x96,0x0D,0x67,0x49,0x3E,0xC0,0xF6,0x49,
    0xEF,0xC8,0xA7,0xD1,0x6B,0xFF,0xEF,0x67,0x0D,0x1A,0x82,
    0x19,0x70,0x3A,0x1E,0x45,0xC6,0x2B,0x40,0x1E,0x14,0x77,
    0x7B,0x4C,0x62,0xA1,0xDB,0xD3,0x36,0x05,0x3E,0xEB,0xE5,
    0x6D,0x92,0xEC,0x7E,0xCF,0x24,0xD3,0x6B,0x69,0x69,0xCB,
    0x1E,0xC6,0xDF,0x31,0x31,0x76,0x8C,0xE4,0xFA,0x11,0x7A,
    0xFC,0xE7,0x4C,0x18,0x66,0x58,0x81,0xF9,0xA4,0x23,0xB3,
    0x02,0x5A,0xEF,0x02,0x07,0xC9,0xDB,0x5F,0x43,0x75,0x86,
    0x70,0x56,0x16,0x7B,0xE9,0x4F,0x18,0xB5,0x4F,0x36,0x7C,
    0x44,0xC4,0x0A,0x26,0x71,0x2C,0x5A,0x17,0x09,0x22,0x8D,
    0x1C,0xFF,0x74,0xDF,0x77,0x24,0x3D,0x4F,0x93,0x49,0xF9,
    0x72,0x95,0x9D,0xBA,0x17,0x3D,0xAB,0x12,0xC5,0xAC,0x1B,
    0x61,0x0D,0xDC,0xA7,0xEB,0x82,0x3F,0xA8,0xCF,0x8B,0xEB,
    0xC5,0x40,0xB4,0xCC,0x5C,0x26,0xF0,0xD3,0x2E,0x65,0x8B,
    0x39,0x2F,0x63,0x9F,0x57,0x6D,0x93,0x49,0x6D,0x6A,0xE5,
    0x99,0xEB,0xCA,0x3E,0x8E,0x2F,0x82,0x8F,0xD8,0x96,0x20,
    0x3D,0x74,0x95,0x5B,0x12,0x13,0x18,0xA6,0xC7,0xA5,0xAC,
    0x25,0x38,0x9E,0x52,0xCF,0xDD,0xD1,0xB3,0x34,0xEB,0xE0,
    0x2F,0xA0,0x4F,0xDD,0x18,0x4C,0xD5,0xE5,0x16,0xDC,0x08,
    0x56,0xBF,0x48,0x15,0x44,0xBF,0x24,0x66,0xD7,0x7E,0xBB,
    0xBC,0xC0,0x8D,0x2E,0xDD,0xE5,0xB8,0xE0,0xAE,0x5A,0x50,
    0x8E,0x19,0x4B,0x28,0x3A,0x09,0x4F,0xBF,0xD9,0xCB,0x10,
    0xB5,0x93,0x1E,0x43,0xCF,0x53,0x92,0xD9,0x48,0xB7,0xAB,
    0x4E,0xB7,0x1A,0x80,0x84,0x6F,0xDC,0xB9,0x2B,0xEF,0xF5,
    0x46,0x15,0x3A,0x7C,0x87,0xC1,0x2D,0xCA,0x1E,0x45,0x96,
    0xB7,0x48,0x94,0xDA,0x8C,0xED,0x87,0xC3,0xF4,0x5A,0x37,
    0x50,0xA1,0xB7,0x79,0x45,0xD6,0x33,0x21,0xD2,0x8E,0xCB,
    0x2C,0xD7,0xE3,0x2E,0x0C,0x5D,0x4C,0x79,0x46,0xBC,0x36,
    0x87,0x8E,0xE0,0xCB,0xFD,0x96,0x66,0xE7,0xDE,0x86,0x4B,
    0x6B,0x69,0x7A,0xE1,0x3E,0xBC,0x2F,0x51,0x33,0x8E,0x20,
    0xD1,0x07,0x92,0x68,0xE2,0x7A,0x03,0x4C,0x19,0xB8,0x06,
    0x13,0x2A,0x0C,0x47,0xE1,0x80,0x9D,0xB0,0xD7,0x25,0x81,
    0x95,0x3E,0xEC,0x13,0x04,0x30,0xF8,0xF8,0x3F,0xCC,0xB7,
    0xE9,0x95,0x31,0x89,0x80,0x01,0x3F,0xE2,0x88,0xAD,0x9F,
    0xF4,0x2D,0x51,0xEC,0x57,0x46,0xD7,0xF4,
//};

//const uint8_t blk_stuff1_p7[] = {
    0x97,0x73,0x5B,0xB2,0xBA,0xE2,0x63,0xF2,0x70,0x89,0xF0,
    0x62,0x06,0x08,0xE3,0x25,0xD2,0x97,0xAF,0xB5,0x2B,0x11,
    0xAD,0x88,0x76,0x84,0x55,0xAE,0xF9,0x44,0xBC,0xDC,0xB9,
    0x05,0xC2,0xBD,0x99,0xA8,0x1D,0xB0,0xEC,0x51,0x37,0x5B,
    0x95,0xDE,0xD6,0xCD,0x6D,0xAC,0xA8,0xC8,0x2E,0x11,0x52,
    0x7B,0x26,0x9C,0x62,0xF4,0xD7,0xD1,0xB1,0x31,0xE6,0x70,
    0xB3,0xBB,0x5F,0x48,0xCF,0x4A,0x22,0xDD,0xC3,0xAC,0xED,
    0xF3,0x62,0x74,0xEB,0x45,0x79,0x50,0xEC,0x3A,0xC1,0x4F,
    0x8E,0xEB,0x82,0xBB,0x10,0xE7,0xEB,0x64,0x6B,0x42,0x74,
    0xE8,0x02,0x31,0x41,0x6C,0x2E,0xDE,0xC5,0xFB,0xC6,0x59,
    0xC1,0x20,0xF4,0xFA,0x7B,0x9D,0xD8,0x7B,0x2F,0x78,0x76,
    0xA7,0xC0,0xC6,0xE5,0x7F,0xBE,0xA7,0x71,0x33,0xED,0xF4,
    0xBA,0x9F,0x06,0xF9,0xB9,0x99,0xBD,0xBE,0x29,0x1D,0x90,
    0xF2,0x9E,0x5B,0x79,0xAE,0x49,0xEB,0x9B,0x32,0x0D,0xCF,
    0x2F,0xD5,0x35,0x37,0x64,0x15,0x6A,0x80,0x8B,0x79,0xB3,
    0xDB,0x40,0x44,0x59,0x4E,0xAD,0xF2,0x2D,0xB1,0x10,0xE3,
    0xA5,0x05,0xB8,0x07,0x59,0xA9,0xE4,0x91,0x21,0xB5,0xFF,
    0x3A,0x86,0x56,0xB6,0x5A,0xD7,0x10,0xB8,0x27,0x40,0xD5,
    0xF3,0xA9,0xAD,0xA6,0xA4,0xB5,0xDA,0x43,0x0B,0x2B,0x61,
    0x60,0x2F,0x90,0x5B,0x12,0x47,0x2B,0x57,0x1D,0xA6,0x8D,
    0x26,0xD3,0xC4,0x3A,0x98,0x96,0x4B,0xBA,0x50,0xB1,0xC9,
    0xFD,0xED,0xA8,0xD5,0x6D,0x50,0x9C,0xF8,0xC1,0x6F,0xE9,
    0x4B,0x4B,0x83,0x8E,0x89,0x98,0xE9,0x18,0x31,0x8E,0x40,
    0x58,0x00,0xA1,
};

const uint8_t gf256_exp[] = {
    0x01,0x03,0x05,0x0F,0x11,0x33,0x55,0xFF,0x1A,0x2E,0x72,
    0x96,0xA1,0xF8,0x13,0x35,0x5F,0xE1,0x38,0x48,0xD8,0x73,
    0x95,0xA4,0xF7,0x02,0x06,0x0A,0x1E,0x22,0x66,0xAA,0xE5,
    0x34,0x5C,0xE4,0x37,0x59,0xEB,0x26,0x6A,0xBE,0xD9,0x70,
    0x90,0xAB,0xE6,0x31,0x53,0xF5,0x04,0x0C,0x14,0x3C,0x44,
    0xCC,0x4F,0xD1,0x68,0xB8,0xD3,0x6E,0xB2,0xCD,0x4C,0xD4,
    0x67,0xA9,0xE0,0x3B,0x4D,0xD7,0x62,0xA6,0xF1,0x08,0x18,
    0x28,0x78,0x88,0x83,0x9E,0xB9,0xD0,0x6B,0xBD,0xDC,0x7F,
    0x81,0x98,0xB3,0xCE,0x49,0xDB,0x76,0x9A,0xB5,0xC4,0x57,
    0xF9,0x10,0x30,0x50,0xF0,0x0B,0x1D,0x27,0x69,0xBB,0xD6,
    0x61,0xA3,0xFE,0x19,0x2B,0x7D,0x87,0x92,0xAD,0xEC,0x2F,
    0x71,0x93,0xAE,0xE9,0x20,0x60,0xA0,0xFB,0x16,0x3A,0x4E,
    0xD2,0x6D,0xB7,0xC2,0x5D,0xE7,0x32,0x56,0xFA,0x15,0x3F,
    0x41,0xC3,0x5E,0xE2,0x3D,0x47,0xC9,0x40,0xC0,0x5B,0xED,
    0x2C,0x74,0x9C,0xBF,0xDA,0x75,0x9F,0xBA,0xD5,0x64,0xAC,
    0xEF,0x2A,0x7E,0x82,0x9D,0xBC,0xDF,0x7A,0x8E,0x89,0x80,
    0x9B,0xB6,0xC1,0x58,0xE8,0x23,0x65,0xAF,0xEA,0x25,0x6F,
    0xB1,0xC8,0x43,0xC5,0x54,0xFC,0x1F,0x21,0x63,0xA5,0xF4,
    0x07,0x09,0x1B,0x2D,0x77,0x99,0xB0,0xCB,0x46,0xCA,0x45,
    0xCF,0x4A,0xDE,0x79,0x8B,0x86,0x91,0xA8,0xE3,0x3E,0x42,
    0xC6,0x51,0xF3,0x0E,0x12,0x36,0x5A,0xEE,0x29,0x7B,0x8D,
    0x8C,0x8F,0x8A,0x85,0x94,0xA7,0xF2,0x0D,0x17,0x39,0x4B,
    0xDD,0x7C,0x84,0x97,0xA2,0xFD,0x1C,0x24,0x6C,0xB4,0xC7,
    //0x52,0xF6,0xC5, // Shouldn't really matter as in GF256 exp(255) = exp(0) and 255'th element of the table is unused
    0x52,0xF6,0x01,
};

const uint8_t gf256_log[] = {
    //0x3E,0x00,0x19,0x01,0x32,0x02,0x1A,0xC6,0x4B,0xC7,0x1B, // Shouldn't really matter as log(0) is undefined and 0'th element of the table is unused
    0x00,0x00,0x19,0x01,0x32,0x02,0x1A,0xC6,0x4B,0xC7,0x1B,
    0x68,0x33,0xEE,0xDF,0x03,0x64,0x04,0xE0,0x0E,0x34,0x8D,
    0x81,0xEF,0x4C,0x71,0x08,0xC8,0xF8,0x69,0x1C,0xC1,0x7D,
    0xC2,0x1D,0xB5,0xF9,0xB9,0x27,0x6A,0x4D,0xE4,0xA6,0x72,
    0x9A,0xC9,0x09,0x78,0x65,0x2F,0x8A,0x05,0x21,0x0F,0xE1,
    0x24,0x12,0xF0,0x82,0x45,0x35,0x93,0xDA,0x8E,0x96,0x8F,
    0xDB,0xBD,0x36,0xD0,0xCE,0x94,0x13,0x5C,0xD2,0xF1,0x40,
    0x46,0x83,0x38,0x66,0xDD,0xFD,0x30,0xBF,0x06,0x8B,0x62,
    0xB3,0x25,0xE2,0x98,0x22,0x88,0x91,0x10,0x7E,0x6E,0x48,
    0xC3,0xA3,0xB6,0x1E,0x42,0x3A,0x6B,0x28,0x54,0xFA,0x85,
    0x3D,0xBA,0x2B,0x79,0x0A,0x15,0x9B,0x9F,0x5E,0xCA,0x4E,
    0xD4,0xAC,0xE5,0xF3,0x73,0xA7,0x57,0xAF,0x58,0xA8,0x50,
    0xF4,0xEA,0xD6,0x74,0x4F,0xAE,0xE9,0xD5,0xE7,0xE6,0xAD,
    0xE8,0x2C,0xD7,0x75,0x7A,0xEB,0x16,0x0B,0xF5,0x59,0xCB,
    0x5F,0xB0,0x9C,0xA9,0x51,0xA0,0x7F,0x0C,0xF6,0x6F,0x17,
    0xC4,0x49,0xEC,0xD8,0x43,0x1F,0x2D,0xA4,0x76,0x7B,0xB7,
    0xCC,0xBB,0x3E,0x5A,0xFB,0x60,0xB1,0x86,0x3B,0x52,0xA1,
    0x6C,0xAA,0x55,0x29,0x9D,0x97,0xB2,0x87,0x90,0x61,0xBE,
    0xDC,0xFC,0xBC,0x95,0xCF,0xCD,0x37,0x3F,0x5B,0xD1,0x53,
    0x39,0x84,0x3C,0x41,0xA2,0x6D,0x47,0x14,0x2A,0x9E,0x5D,
    0x56,0xF2,0xD3,0xAB,0x44,0x11,0x92,0xD9,0x23,0x20,0x2E,
    0x89,0xB4,0x7C,0xB8,0x26,0x77,0x99,0xE3,0xA5,0x67,0x4A,
    0xED,0xDE,0xC5,0x31,0xFE,0x18,0x0D,0x63,0x8C,0x80,0xC0,
    0xF7,0x70,0x07,
};

static inline uint8_t gf256_mul(uint8_t a, uint8_t b)
{
  if (a == 0 || b == 0)
    return 0;

  return gf256_exp[(gf256_log[a] + gf256_log[b]) % 255];
}

#pragma pack(1)
struct blk_header
{
    uint32_t magic;    // "blk\0"
    uint32_t version;  // 0x10
    uint8_t  key1[16]; // Decryption key
    uint8_t  key2[16]; // Some other key
    uint16_t block_size;
};
#pragma pack()
